<?php 
include_once("rm_conexion.class.php");

class Articulo{
 //constructor	
 var $con;
 function Articulo(){
 	$this->con=new DBManager;
 }
 //promedio de hits
 function promedio_lectura(){
	if($this->con->conectar()==true){
     $result = @mysql_query("SELECT AVG( lecturas ) AS promedio FROM articulos");
	 return $result;
   }
 }
 
 //lista los n ultimos articulos
 function listado_ultimos($limite){
   if($this->con->conectar()==true){
     $result = @mysql_query("SELECT * FROM articulos WHERE activo='A' ORDER BY fecha_creacion DESC LIMIT $limite");
	 return $result;
   }
 }
 
 //lista los 5 articulos relacionados segun el campo tag
 function listado_relacionados($tags){
    $trozos=explode(" ",$tags);
	$numero=count($trozos);
	if ($numero==1) {
		$result=@mysql_query("SELECT * FROM articulos WHERE activo='A' AND CONTENIDO LIKE '%$tags%' OR TITULO LIKE '%$tags%' LIMIT 10;");
	} elseif ($numero>1) {
		$result=@mysql_query("SELECT * , MATCH ( TITULO, CONTENIDO ) AGAINST ( '$tags' ) AS Score FROM articulos WHERE activo='A' AND MATCH ( TITULO, CONTENIDO ) AGAINST ( '$tags' ) ORDER BY Score DESC LIMIT 10;");
	}
	return $result;
 }

 //articulos por mes
 function articulos_por_mes($mes, $anio,$RegistrosAEmpezar, $RegistrosAMostrar){
   if($this->con->conectar()==true){
     $result = @mysql_query("SELECT *, DATE_FORMAT(fecha_creacion,'%d') AS dia, DATE_FORMAT(fecha_creacion,'%m') AS mes, DATE_FORMAT(fecha_creacion,'%Y') AS anio FROM articulos WHERE activo='A' AND MONTH(fecha_creacion)='$mes'AND YEAR(fecha_creacion)='$anio' ORDER BY fecha_creacion DESC LIMIT $RegistrosAEmpezar, $RegistrosAMostrar");
	 return $result;
   }
 }
 
 //agrupados por meses
 function archivo_mes(){
    if($this->con->conectar()==true){
     $result = @mysql_query("SELECT DATE_FORMAT(fecha_creacion,'%m/%Y') AS mes, count(*) as nroart FROM articulos WHERE activo='A' GROUP BY DATE_FORMAT(fecha_creacion,'%m%Y') ORDER BY fecha_creacion DESC");
	 return $result;
   }	
 }
 
 //lista articulos para la portada
 function listado_paginado($RegistrosAEmpezar, $RegistrosAMostrar){
   if($this->con->conectar()==true){
     $result = @mysql_query("SELECT *,DATE_FORMAT(fecha_creacion,'%a') as nombre_dia, DATE_FORMAT(fecha_creacion,'%T') as hora, DATE_FORMAT(fecha_creacion,'%d') AS dia, DATE_FORMAT(fecha_creacion,'%m') AS mes, DATE_FORMAT(fecha_creacion,'%b') AS mes_nombre, DATE_FORMAT(fecha_creacion,'%Y') AS anio FROM articulos WHERE activo='A' ORDER BY fecha_creacion DESC LIMIT $RegistrosAEmpezar, $RegistrosAMostrar");
	 return $result;
	}
 }
 
 //lista articulos mas leidos
 function listado_mas_leidos($RegistrosAMostrar){
   if($this->con->conectar()==true){
     $result = @mysql_query("SELECT *,DATE_FORMAT(fecha_creacion,'%a') as nombre_dia, DATE_FORMAT(fecha_creacion,'%T') as hora, DATE_FORMAT(fecha_creacion,'%d') AS dia, DATE_FORMAT(fecha_creacion,'%m') AS mes, DATE_FORMAT(fecha_creacion,'%b') AS mes_nombre, DATE_FORMAT(fecha_creacion,'%Y') AS anio FROM articulos WHERE activo='A' ORDER BY lecturas DESC LIMIT 0, $RegistrosAMostrar");
	 return $result;
	}
 }
 
 //muestra el total de los articulos activos
 function numero_registros(){
   if($this->con->conectar()==true){
     $result = @mysql_num_rows(mysql_query("SELECT * FROM articulos WHERE activo='A'"));
	 return $result;
   }
 }
 
 //muestra el numero de todos los artículos
 function numero_todos(){
   if($this->con->conectar()==true){
     $result = @mysql_num_rows(mysql_query("SELECT * FROM articulos"));
	 return $result;
   }
 }
 
 //lista de articulos segun categoria
 function listado_por_categoria($categoria, $RegistrosAEmpezar, $RegistrosAMostrar){
   if($this->con->conectar()==true){
	 $result_1 = @mysql_query("SELECT id FROM categorias WHERE nombre_enlace='$categoria'");
	 $row_1=mysql_fetch_array($result_1);
	 $categoria_id=$row_1['id'];
	 
     $result_2 = @mysql_query("SELECT c.articulo_id, a.*, DATE_FORMAT(a.fecha_creacion,'%d') AS dia, DATE_FORMAT(a.fecha_creacion,'%m') AS mes, DATE_FORMAT(a.fecha_creacion,'%Y') AS anio FROM articulos a, articulos_categorias c WHERE a.id=c.articulo_id AND c.categoria_id=$categoria_id AND activo='A' ORDER BY a.fecha_creacion DESC LIMIT $RegistrosAEmpezar, $RegistrosAMostrar");

	 return $result_2;
   }
 }
 
 //numero de articulos segun categoria
 function numero_por_categoria($categoria){
   if($this->con->conectar()==true){
	 $result_1 = @mysql_query("SELECT * FROM categorias WHERE nombre_enlace='$categoria'");
	 $row_1=mysql_fetch_array($result_1);
	 $categoria_id=$row_1['id'];
	 
    $result_2 = @mysql_num_rows(mysql_query("SELECT c.articulo_id, a.* FROM articulos a, articulos_categorias c WHERE a.id=c.articulo_id AND c.categoria_id=$categoria_id AND a.activo='A'"));
	 
	 return $result_2;
   }
 }

 //numero de articulos por mes-año
 function numero_por_mes($mes, $anio){
   if($this->con->conectar()==true){
     $result = @mysql_num_rows(mysql_query("SELECT * FROM articulos WHERE activo='A' AND MONTH(fecha_creacion)='$mes'AND YEAR(fecha_creacion)='$anio'"));
	 return $result;
   }
 }

 function insertar($fecha_creacion, $fecha_modificacion, $categoria_id, $titulo, $titulo_enlace, $autor, $tags, $contenido, $lecturas, $comentarios, $activo, $artcom, $portada){
   if($this->con->conectar()==true){
     $result = @mysql_query("INSERT INTO articulos (fecha_creacion, fecha_modificacion, categoria_id, titulo, titulo_enlace, autor, tags, contenido, lecturas, comentarios, activo, artcom, portada) VALUES ('$fecha_creacion', '$fecha_modificacion', $categoria_id, '$titulo', '$titulo_enlace', '$autor', '$tags', '$contenido', $lecturas, $comentarios, $activo, $artcom, $portada)");
     return $result;
   }
 }

 function actualizar($id, $fecha_creacion, $fecha_modificacion, $categoria_id, $titulo, $titulo_enlace, $autor, $tags, $contenido, $lecturas, $comentarios, $activo, $artcom, $portada){
   if($this->con->conectar()==true) {
     $result = @mysql_query("UPDATE articulos SET fecha_creacion='$fecha_creacion', fecha_modificacion='$fecha_modificacion', categoria_id=$categoria_id, titulo='$titulo', titulo_enlace='$titulo_enlace', autor='$autor', tags='$tags', contenido='$contenido', lecturas=$lecturas, comentarios=$comentarios, activo=$activo, artcom=$artcom, portada=$portada WHERE id=$id");
     return $result;
   }
 }

 function eliminar($id){
   if($this->con->conectar()==true){
     $result = @mysql_query("DELETE FROM articulos WHERE id=$id");
     return $result;
   }
 }
 
 function mostrar($art){
   if($this->con->conectar()==true){
     $result = @mysql_query("SELECT *, DATE_FORMAT(fecha_creacion,'%d') AS dia, DATE_FORMAT(fecha_creacion,'%m') AS mes, DATE_FORMAT(fecha_creacion,'%b') AS mes_nombre, DATE_FORMAT(fecha_creacion,'%Y') AS anio FROM articulos WHERE titulo_enlace='$art'");
     return $result;
   }
 }
 
 function mostrar_por_id($id){
   if($this->con->conectar()==true){
     $result = @mysql_query("SELECT *, DATE_FORMAT(fecha_creacion,'%d') AS dia, DATE_FORMAT(fecha_creacion,'%m') AS mes, DATE_FORMAT(fecha_creacion,'%Y') AS anio FROM articulos WHERE id=$id");
     return $result;
   }
 }

 //verificar
 function listado(){
   if($this->con->conectar()==true){
     $result = @mysql_query("SELECT * FROM articulos WHERE activo='A' ORDER BY id ASC");
	 return $result;
   }
 }
 
 function listado_por_valor($id){
   if($this->con->conectar()==true){
     $result = @mysql_query("SELECT * FROM articulos WHERE activo='A' AND titulo_enlace=$id");
	 return $result;
   }
 }
 function actualizar_por_campo($campo,$valor,$id){
    if($this->con->conectar()==true){
     $result = @mysql_query("UPDATE articulos SET $campo=$valor WHERE id=$id");
	 return $result;
   }
 }
}
?>
